In many state-of-the-art process control applications, a digital controller is used to control an analog process. A digital controller provides cost and performance advantages over corresponding analog controllers that would typically be employed in earlier controller designs. To integrate a digital controller into an analog process control loop, an output value from the analog process to be controlled must be converted into a digital representation in order to serve as an input to the digital controller core.
A control loop including a digital controller can convert an analog process output value (“an output characteristic”) into a digital signal using a ΔΣ ADC (delta-sigma analog-to-digital converter). The result of this conversion is subtracted from a desired (digital) set-point value to form a control error signal for a controller such as a proportional-integral-derivative (PID) controller. A PID controller calculates the value of the control signal by digital multiplication of the control error signal (the “process output characteristic” minus the “set-point value”) with a constant “KP” representing a proportional weighting coefficient. Next, the PID controller digitally multiplies a derivative of the control error signal with a constant “KD” representing a derivative-weighting coefficient. Then the PID controller digitally multiplies an integral of the control error signal with a constant “KI” representing an integral weighting coefficient. The PID controller then adds these three multiplication results (“partial sums”) to produce a digital representation of the control signal. The digital control signal is finally converted to an analog control signal using a digital-to-analog converter. Of course, a controller might only employ one or two multiplication results to produce a control signal.
In many cases the digital controller is implemented in software which runs on a microcontroller, but in some applications it is necessary to implement the controller in dedicated digital hardware. In such cases, multiplication of a control error signal with constants (or variables) KP, KI, and KD in dedicated hardware is very area consuming for a custom integrated semiconductor device, which adds cost to such designs. In digital controllers implemented with a general-purpose digital processor such as a microprocessor, process-intensive computation is the alternative and also the unattractive consequence.
Thus, there is a need for a digital controller structure capable of controlling an analog process that avoids the need for multiplication of a control error signal with a control constant or variable, thereby relieving the need for area-consuming elements or process-intensive computation in an integrated digital circuit.